perm filename ITALMS.MF[1,3] blob
sn#546423 filedate 1980-11-28 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00009 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 % This file contains miscellaneous symbols of math italic fonts.
C00003 00003 "Dotless italic letter i"
C00004 00004 "Straight double quotes"
C00005 00005 "Lower case italic script l"
C00006 00006 "Weierstrass p"
C00007 00007 "Partial differential sign"
C00010 00008 "Hyphen"
C00011 00009 "Dotless italic letter j"
C00013 ENDMK
C⊗;
% This file contains miscellaneous symbols of math italic fonts.
% Math spacing is assumed.
% The character codes are \¬040, \¬042--\¬045, \¬055, and \¬100.
new mc,lbowl,lhook,rbowl,rhook,rstem; % quantities used in spacing corrections
mc=1/pu;
rhook=1/3px.slant+.5pw+.5pu;
lbowl=.3px.slant-.5pwii+pu;
rbowl=.7px.slant+.5pwii-pu;
lhook=2/3px.slant-.5pw-.5pu;
rstem=px.slant+.5pwi-pu;
"Dotless italic letter i";
call charbegin('040,7,1+mc.lhook,1-mc.rhook,px,0,0);
x1=.5r+.25u; x2=.5r-.25u;
call `a skewentry(u,1); % opening hook
call `b skewexit(2,r-u); % closing hook
hpen; w1 draw 1..2. % stem
"Straight double quotes";
call charbegin('042,9,0,0,ph,0,ph.slant+.5pwiii-2.5pu);
new w99;
if w3<w0 sqrt 2: w99=round w0 sqrt 2;
else: w99=w3;
fi;
x1=x2=good99 3u; x3=x4=r-x1;
cpen; top99y1=h; y2=.5[e,m]; y3=y1; y4=y2;
call `a cdraw(1,2,99,0); % left stem
call `b cdraw(3,4,99,0). % right stem
"Lower case italic script l";
call charbegin('043,6,0,-mc(.8ph.slant-pu),ph,0,0);
hpen; x1=good0 0; rt0x2=round(r-1.5u); x3=.5r; lft1x4=round .5u;
x5=r-2.25u; x6=good0(r+2); % (two in a row will connect)
y1=y6=.125h; y2=.8h; top0y3=h+oo; y4=.5[y3,y5]; bot0y5=-oo;
w0 draw 1{10u,h}..2{0,1}..3{-1,0}; % right of bowl
call `a arc(3,4,w1); call `b arc(5,4,w1); % left of bowl
draw 5{1,0}..6{10u,h}. % link
"Weierstrass p";
call charbegin('044,11,0,-mc.rbowl,px,pd,0);
hpen; x1=2.5u; top0y1=m; lft10x2=round .5u;
x3=3u; y3=.5[e,-.5d]; rt10x4=round 5.25u;
x5=3.5u; bot0y5=-d-oo;
call `a sdraw(1,2,3,4,5,w10,w8,-m/(8u)); % flourish
x6=good0 2u; y6=0; x7=7u; top0y7=round .8[e,m];
w0 draw 5{-1,0}..6{0,1}..7{1,0}; % stem and shoulder
x8=good2(r-1.5u); bot0y8=-oo; x9=x7; y9=y8;
call `b darc(7,8,w2); % bowl
lft3x11=lft0x10=round 4.5u; y10=y11=.5e;
draw 9{-1,0}..10{0,1}; % link
cpen; w3 draw 11. % bulb
"Partial differential sign";
call charbegin('045,10,mc.lbowl,-mc(.7ph.slant+.5pwii-1.5pu),ph,0,.5mi.pu);
% (This is a mirror-reflected number 6, one unit wider.)
hpen; x1=good2(r-1.5u); x2=good2 1.5u;
new w99; w99=round .75[w0,w3];
cpen; top99y3=8/9h;
if y3<.5[m,h]: new y3; y3=.5[m,h];
fi;
lft99x3=lft0x4=round 1.5u; y4=y3;
w99 draw 3; % bulb
hpen; x20=good2(x1-.1u); x5+.25u=x6=x10=.5[x20,x2-u]; top0y5=h+oo;
x11=.8[x5,x3]; y11=.8[y3,y5];
w0 draw 4{0,1}..11{x5-x4,y5-y4}..5{1,0}; % shoulder
bot0y2=-oo; top0y6=m+oo; y20=.5[y2,y6];
y2=y10; lft0x7=lft2x20; y7=y20;
call `a darc(6,2,w2); % left bowl
new w99; w99=.5[w0,w2];
lft99x8=lft0x22; x8=1/sqrttwo[x6,x20]; rt99x8=rt0x21; y21=y22=y8;
rt0x23=rt2x1; lft0x24=lft2x1;
y8=1/sqrttwo[y20,y10]; y23=y24=y1=.5[y5,y10];
x9=1/sqrttwo[x5,x1]; y9=1/sqrttwo[y1,y5];
x27=x22; y27=1/sqrttwo[y7,y6];
lft0x26=lft99x9; rt0x25=rt99x9; y26=y25=y9;
w0 draw 6{1,0}..27{x7-x6,y7-y6}..7{0,-1}; % upper left bowl
if w0=w2: draw 5{1,0}..9{x20-x5,y20-y5}..20{0,-1}..8{x10-x20,y10-y20}..10{-1,0};
else: ddraw 5{1,0}..26{x7-x5,y7-y5}..7{0,-1}..22{x10-x7,y10-y7}..10{-1,0},
5{1,0}..25{x23-x5,y23-y5}..23{0,-1}..
21{x10-x20+.5(w2-w0),y10-y20}..10{-1,0}; % stroke
fi.
"Hyphen";
call charbegin('055,6,0,0,px,0,.5px.slant-.5pu);
vpen; y1=y2=.5m;
if fixwidth=0: lft7x1=0; rt7x2=r-u;
else: lft7x1=1.5u; x2=r-x1;
fi;
w7 draw 1..2. % bar
"Dotless italic letter j";
call charbegin('100,7.5,1-mc(pu+pd.slant),1-mc(pe.slant+.5pwi-1.5pu),
px,pd,(ph-pe).slant);
cpen; lft3x1=lft0x2=round .5u; x3=2.5u; x4=x5=good1 4.5u;
bot3y1=-.9d; y2=y1; bot6y3=-d-oo; bot6y4=-1/3d;
w3 draw 1; % bulb
call `a entry(u,5); % opening hook
hpen; draw |w1|5..|w1#|4{0,-1}..|w0#|3{-1,0}..2{0,1}. % stem and tail